Because of advances in their computational power, modern computers can allow users to process vast amounts of data in very little time. However, computers tend to represent knowledge in relatively inflexible, counter-intuitive formats that are not readily digestible for programmers or other users. For example, the medical profession uses various standardized terminologies for organizing medical data, e.g., SNOMED—CT (Systemized Nomenclature of Medicine—Clinical Terms) and ICD-9 (International Classification of Diseases—9th Edition). While these standardized terminologies can provide convenient representations of various medical concepts, they do not express relationships between these concepts in an intuitive form.
Furthermore, standardized terminologies tend to evolve over time, e.g., new drugs or diagnoses can be added to medical terminologies as these drugs or diagnoses become integrated into the medical profession. Applications built on a specific version of a terminology can tend to have dependencies on that version that need to be resolved as new versions of the terminology are released. Further complications can arise when applications are required to provide interoperability between different standardized terminologies.